home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
TPUG Xtras
/
Xtras
/
club1.d64
/
club librarian
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-02-07
|
15KB
|
439 lines
0 X$="XX":FORI=.TO3:X$=X$+X$:NEXT
1 X$=X$+"XXXXXXX":PRINT"[147][158]WORKING..."
2 PRINT"[159] THE CLUB LIBRARIAN V1.2 "
3 PRINT" COPYRIGHT BY: "
4 PRINT" FRED LAYBERGER--APR 1986 "
5 PRINT" 14524 'N' ST,OMAHA,NE 68137 "
6 PRINT" OKAY TO USE BUT NOT TO SELL "
7 GOTO1502
10 PRINT"[147]"CY$S2$BL$R$S1$:POKE53281,11
11 GOSUB60:Y=24:X=.:GOSUB20:PRINTBL$S1$CY$S3$;:POKE2023,160:POKE56295,3:RETURN
20 PRINTLEFT$("",Y)TAB(X);:RETURN
30 GOSUB47:Y=24:X=47:GOSUB20:PRINTR$CY$" PRESS ' ^ ' TO RETURN ";:I$=""
31 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTW$P$;:FORI=1TO200:NEXT
32 A=A+1AND1:POKE199,A:GETI$:IFI$=""THEN31
33 RETURN
45 Y=24:X=.:GOSUB20:PRINTBL$S3$R$" "O$;
46 Y=24:X=20-LEN(P$)/2:GOSUB20:PRINTP$;:RETURN
47 Y=24:X=40:GOSUB20:PRINTCY$S3$W$;:RETURN
48 GOSUB60:GOSUB45:GOSUB47:RETURN
50 Y=22:X=8:GOSUB20:PRINTR$W$"INSERT "P$" DISKETTE ";:RETURN
60 Y=3:X=.:GOSUB20:FORI=3TO23:PRINT"[155] [146]"
61 NEXT:RETURN
90 REM * ERR HANDLING
91 INPUT#15,ER,ER$,T,S:RETURN
92 GOSUB60:Y=22:X=9:GOSUB20:POKE53281,2:PRINTER;ER$;T;S:P$=S6$:GOSUB30:RETURN
93 P$=P1$:GOSUB48:CLOSE15:OPEN15,DD,15,"I"+MID$(STR$(DR),2,1)+":":GOSUB91:RETURN
94 GOSUB92:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:RETURN
100 REM * CHANGE
102 Y=24:X=47:GOSUB20:PRINTR$CY$"PRESS 'RETURN' TO CONTINUE";:IFUTHENRETURN
104 X=21-LEN(P$):GOSUB20:PRINTW$P$;:Y=24:X=21
108 A$=J$+RIGHT$(A$,J-I):GOSUB20:PRINTR$A$;:GOSUB20:PRINTR$J$;:IFI<JTHENPRINT"[166]";
110 WAIT198,1:GETI$:POKE198,.:IFI$=CHR$(13)THEN134
112 IFI$=CHR$(19)ORI$=CHR$(34)ORI$=""ORI$=CHR$(131)ORI$=CHR$(147)ORI$=CHR$(141)THEN108
114 IFI<=1THENIFI$=CHR$(20)ORI$=CHR$(157)THENI=.:J$="":GOTO108
116 IFI$=CHR$(29)ANDI<JTHENI=I+1:J$=LEFT$(A$,I):GOTO108
118 IFI$=CHR$(148)THEN108
120 IFI$=CHR$(20)ORI$=CHR$(157)THENJ$=LEFT$(J$,LEN(J$)-1):I=I-1:GOTO108
122 IFI$=CHR$(17)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
124 IFI$=CHR$(145)THENPRINT"[145]":J$=LEFT$(J$,LEN(J$)):GOTO108
126 IFKTHENIFI$="*"THEN130
128 IFSL<>1THENIFI$="*"THENJ=I+1:GOTO132
130 IFI=JTHENIFI$<>CHR$(13)THEN108
132 J$=J$+I$:I=I+1:GOTO108
134 RETURN
200 REM * PRINTER CODES
202 DEFFNR(X)=INT((IP/CL-INT(IP/CL))*CL+.5):C1$=CHR$(15):C2$=CHR$(18):Z=.:IP=N
204 IFPTHENIP=VAL(MID$(DT$(K),19)):IFK>1THENW=W+IP
206 C3$=CHR$(14):C4$=CHR$(20):H1$=E$+"E":H2$=E$+"F"
208 U$=E$+"U"+CHR$(48)
210 T1$=C1$+E$+"S"+CHR$(1)+E$+"A"+CHR$(6):T2$=C2$+E$+"T"+E$+"A"+CHR$(12)
212 A=2:ONPCGOTO218,218,218,216,214,218
213 GOTO 218
214 E=40:B=6:C=1:D=.:CL=5:PL=118:GOTO224
216 E=40:B=6:C=1:D=.:CL=5:PL=59:T1$=C1$+E$+"G":T2$=C2$+E$+"H":GOTO224
218 A=2:E=40:B=6:C=1:D=.:CL=3:PL=59:P$=" - - - - - - - - - -"
220 T1$=E$+"E":T2$=E$+"F"
222 IFPC<3THENC1$="":C2$="":C4$=CHR$(129):T1$="":T2$="":SA=.:H1$="":H2$="":U$=""
224 X=INT(IP/CL):R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
226 RETURN
300 REM * Y/N
302 U=3:Y=20:X=17-LEN(P$)/2:GOSUB20:PRINTP$:X=X+LEN(P$)+2
304 GOSUB20:PRINTW$"NO ":Y=Y+1:GOSUB20:PRINTR$"YES"
306 GOSUB952:IFI$="^"THENRETURN
308 I$="N":IFC=1THENI$="Y":POKES+B,160
310 RETURN
350 REM * SAVE/LOAD
352 P$=BL$:GOSUB48:P$="[158]LOAD OPTIONS":IFG=4THENP$="[158]SAVE OPTIONS"
354 Y=5:X=4:GOSUB20:PRINTR$LEFT$(P$,5):PRINTTAB(X)MID$(P$,7):Y=3:X=17
356 FORI=1TOSO:GOSUB20:PRINTR$W$CHR$(I+64)" "O$LEFT$(SL$(I)+" ",15)
358 Y=Y+1:NEXT:U=4:GOSUB952:IFI$="^"THENRETURN
360 F$="@"+LEFT$(SL$(C+1),15):FF$=CHR$(C+65):P$=BL$:GOSUB48:IFG=4THEN502
400 REM ** LOAD FILES
402 IFN<1THEN410
404 Y=16:X=6:GOSUB20
406 PRINTR$"[158]CAUTION...CURRENT ENTRIES "
408 PRINTR$"WILL BE LOST IF YOU PROCEED."
410 U=1:P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
412 GOSUB93:OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R"
414 GOSUB91:IFERTHEN94
416 IFN>1THENFORI=.TON:T$(I)="":NEXT:N=.:Z=FRE(.)
418 I$="":Y=5:X=5:GOSUB20:PRINTW$R$"LOADING...":F$=MID$(F$,2)
420 INPUT#1,DN:INPUT#1,N:INPUT#1,P:FORI=1TODN:INPUT#1,DT$(I):NEXT
422 Y=6:GOSUB20:PRINTNTAB(10)F$
424 POKE850,76:POKE851,88:POKE852,3:POKE952,19
426 FORI=1TON:SYSDL:T$(I)=LEFT$(X$,18)
428 Y=7:GOSUB20:PRINTR$ITAB(10)LEFT$(T$(I),16):NEXT
430 GOSUB91:IFERTHEN94
432 CLOSE1:RETURN
500 REM * SAVE
502 P$=S9$:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
504 GOSUB93:OPEN1,DD,8,MID$(STR$(DR),2,1)+":"+F$+",S,W"
506 GOSUB91:IFER=63THENP$=S5$:GOTO526
508 IFERTHEN94
510 Y=5:X=5:GOSUB20:PRINTW$R$"SAVING"N"[157] PROGRAMS":F$=MID$(F$,2)
512 PRINT#1,DN:PRINT#1,N:PRINT#1,P
514 FORI=1TODN:PRINT#1,DT$(I):NEXT
516 Y=7:GOSUB20:PRINTI;TAB(10)DT$(I)
518 FORI=1TON:PRINT#1,T$(I)
520 Y=7:GOSUB20:PRINTI;TAB(10)T$(I)
522 NEXT:GOSUB91:IFERTHEN94
524 CLOSE1:RETURN
526 CLOSE1:GOSUB48:GETI$
528 IFI$="Y"THENP$=P1$:GOSUB45:PRINT#15,"S"+MID$(STR$(DR),2,1)+":"+F$:GOTO504
530 IFI$<>"N"THEN526
532 Y=2:X=60-LEN(H$)/2:GOSUB20:PRINTR$W$H$;:RETURN
600 REM * READ DIR
602 P$=S8$:IFU>.THENP$=S9$
604 GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
606 P$=P1$:GOSUB48:CLOSE15:OPEN15,SD,15,"I"+MID$(STR$(SR),2,1)+":":P$=S8$
608 POKE850,32:POKE851,228:POKE852,255:POKE952,29
610 OPEN1,SD,.,"$"+MID$(STR$(SR),2,1)
612 GOSUB91:IFERTHEN94
614 SYSDL:DT$=MID$(X$,7,16):ID$=MID$(X$,25,2)
616 H$=DT$+ID$:GOSUB532
620 NF=-1:POKE850,76:POKE851,100:POKE852,3:POKE952,24
622 SYSDL:B$=LEFT$(X$,1):C$=MID$(X$,2,1):S$=STR$(ASC(C$)*256+ASC(B$))
624 S$=RIGHT$(" "+S$,4):IFSTTHEN632
626 Y=5:X=9:GOSUB20:PRINTW$R$MID$(X$,3,19)S$
628 NF=NF+1:V$(NF)=MID$(X$,3,16)+MID$(X$,20,2)+S$
630 GOTO622
632 GOSUB91:IFERTHEN94
634 BK$=S$:IFI$="^"THENN=.
636 CLOSE1:IFNF<.THENRETURN
638 H$=H$+BK$+" BKS FREE":GOSUB532
700 REM * FILE SELECTION
702 GOSUB60:PRINTP4$P5$;
704 S=1145:B=.:FORK=.TONFSTEP38
706 Y=4:X=2:FORJ=.TO18
708 SL=13:X=2:GOSUB766:Y=Y+1:IFY=23THENY=4
710 PRINT:IFJ+K=NFTHENJ=37
712 NEXT:X=2
714 POKES+B,62:POKE198,.:WAIT198,1:GETI$
716 IFI$="[145]"THENB=B-40:POKES+B+40,160:IFB=-40THENPOKES+B,160:B=18*40:GOTO722
718 IFI$=""THENB=B+40:POKES+B-40,160:IFB=19*40THENPOKES+B,160:B=.:GOTO722
720 POKES+B-40,160:IFI$<>""THEN726
722 IFS=1164THENPOKES+B,160:S=S-19:X=2:GOTO726
724 IFS=1145THENPOKES+B,160:S=S+19:X=22
726 IFU=2THENIFI$="^"THENK=NF:NEXT:GOSUB776:U=.:RETURN
728 IFI$="E"THEN750
730 IFI$="S"THENIFU<>1THENGOSUB774:POKES+B,160:GOTO706
732 IFI$="^"THENK=NF:NEXT:GOSUB776:RETURN
734 IFNF>37THENIFI$="N"THENGOSUB60:B=.:S=1145:NEXT:GOTO702
736 IFI$="P"THENIFK>.THENK=K-38:B=.:S=1145:GOSUB60:GOTO706
738 IFI$<>CHR$(13)THEN714
740 BB=K:POKE198,.:Y=B/40+4:GOSUB20:IFS=1164THENBB=K+19:X=21
742 IFU=1THENIFV$(B/40+BB)>""THENRETURN
744 IFX(B/40+BB)=1THENX(B/40+BB)=.:PRINTO$;:GOTO748
746 IFX(B/40+BB)=.THENX(B/40+BB)=1:PRINTR$;
748 GOSUB20:GOSUB764:PRINT:GOTO714
750 P$=W$+P2$:GOSUB45:GOSUB47:GETI$:IFI$="Y"THEN756
752 IFI$<>"N"THEN750
754 Y=24:X=.:GOSUB20:PRINTP4$P5$;:X=2:Y=Y-1:GOTO714
756 P$=P1$:GOSUB48:DN=DN+1:FORI=.TONF
758 IFX(I)=1THENT$(N+1)=LEFT$(V$(I),16)+RIGHT$("00"+MID$(STR$(DN),2),2):X(I)=.:D=D+1:N=N+1
760 V$(I)="":NEXT:DT$(DN)=DT$+ID$+RIGHT$("000"+MID$(STR$(D),2),3):IFD=.THENDN=DN-1
762 D=.:P=1:RETURN
764 PRINTW$LEFT$(V$(B/40+BB),SL)MID$(V$(B/40+BB),SL+4,1)RIGHT$(V$(B/40+BB),3);:RETURN
766 GOSUB20:IFX(K+J)=1THENPRINTR$;
768 PRINTW$LEFT$(V$(K+J),SL)MID$(V$(K+J),SL+4,1)RIGHT$(V$(K+J),3)O$;
770 IFX(K+J+19)=1THENPRINTR$;
772 PRINT""LEFT$(V$(K+J+19),SL)MID$(V$(K+J+19),SL+4,1)RIGHT$(V$(K+J+19),3):RETURN
774 FORI=.TONF:X(I)=X(I)+1AND1:NEXT:RETURN
776 P$=P1$:GOSUB48:FORI=.TONF:X(I)=.:V$(I)="":NEXT:RETURN
800 REM * SORT
802 P$="SORTING"+STR$(N)+" FILES":GOSUB48:P=C-5:IFP=1THENP=.
804 IFP=.THENSYSML,T$,1,N,1,16,A
806 IFP=2THENSYSML,T$,1,N,17,18,A,1,16,A
808 RETURN
900 REM * SUMMARY REPORT
902 PRINT#S,H1$SPC((E)-LEN(L1$+" "+L2$)/2)L1$" "L2$
904 P$="-SUMMARY REPORT-":PRINT#S,C3$SPC(E/2-LEN(P$)/2)P$
906 PRINT#S,""SPC(E-(LEN(D$)/2))D$:GETI$:IFI$="^"THEN1342
908 P$="DISK NAME ID#":IFPC=6THENPRINT#S,E$"-"CHR$(1);
910 PRINT#S:PRINT#S,P$;SPC(B)P$;SPC(B)P$H2$:IFPC=6THENPRINT#S,E$"-"CHR$(0)
912 LN=5:FORK=1TOSO:F$="@"+LEFT$(SL$(K),15):FF$=CHR$(K+64)
914 OPEN1,DD,.,MID$(STR$(DR),2,1)+":"+F$+",S,R":GOSUB91:IFERTHEN926
916 F$=MID$(F$,2):INPUT#1,DN:INPUT#1,N:INPUT#1,P:NN=NN+DN:TT=TT+N
918 FORX=1TODN:INPUT#1,T$:T$(X)=LEFT$(T$,16)+FF$+RIGHT$("00"+MID$(STR$(X),2),2)
920 NEXT:CLOSE1:M=N:P=N:IP=DN:N=DN:S=4:GOSUB1242:P=.:N=.:DN=.:IFI$="^"THENPRINT"[147]":RUN
922 NEXT:PRINT#S,H1$SPC(20)"TOTAL OF"STR$(TT)" PROGRAMS ON"STR$(NN)" DISKS"H2$
924 PRINT"[147]":RUN
926 P$=BK$:GOSUB48:GOSUB92:POKE53281,11:P$=BK$:GOSUB48:P$="A[146]BORT OR R[146]ETRY?"
928 GOSUB30:IFI$="A"THENRUN
930 IFI$<>"R"THEN928
932 CLOSE1:GOSUB202:P$=S4$:GOSUB48:GOTO914
950 REM * CURSOR SELECT
952 B=.:S=1152:Y=24:X=8:GOSUB20:PRINTW$R$".....CRSR=MOVEMENT....."SPC(9)S0$;:C=N
954 IFU=1THENB=40*G:C=10:S=1193
956 IFU=2THENC=5:S=1267:IFPCTHENB=40*(PC-1)
958 IFU=3THENC=1:S=1784+18+LEN(P$)/2
960 IFU=4THEN:C=SO-1:S=1120
962 POKES+B,62:POKE198,.
964 GETI$:IFI$=""ORI$=""THENIFB+40=840ORB/40=>CTHENPOKES+B,160:B=-40
966 IFI$=""ORI$=""THENB=B+40:POKES+B,62:IFBTHENPOKES+B-40,160
968 IFI$="[145]"ORI$="[157]"THENIFB-40=-40THENPOKES+B,160:B=840:IFC<19THENB=C*40+40
970 IFI$="[145]"ORI$="[157]"THENPOKES+B,160:B=B-40:POKES+B,62
972 IFI$="N"ORI$="P"ORI$="E"ORI$="S"ORI$="^"THENRETURN
974 IFUTHENIFI$=CHR$(13)THENC=B/40:U=.:RETURN
976 IFI$<>CHR$(13)THEN964
978 IFN<19THENC=B/40:GOTO982
980 C=J-18+B/40:IFC<.THENC=N-ABS(C)+1
982 IFCTHENG=C:K=2:GOSUB920:C=G
984 J=C-1:IFN<19THENJ=-1
986 GOSUB10:RETURN
1100 REM * ? TO SCREEN
1102 J=-1:GOSUB60
1104 P$=FF$+O$+"-"+F$+STR$(DN)+" DISKS"+STR$(N)+" PROGRAMS":IFN<1ORI$="^"THENRETURN
1106 Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTW$R$P$:GOTO1112
1108 P$=P6$:GOSUB45:GOSUB30:IFI$="^"THENRETURN
1110 IFN<19THEN1108
1112 GOSUB60:X=.:Y=4:GOSUB20
1114 IFI$<>"[145]"THENJ=J+1:GOTO1118
1116 J=J-37:IFJ<.THENJ=N-ABS(J)+1:IFJ<.THENJ=.
1118 IFJ>NTHENJ=.
1120 IFJ=.THEN1130
1122 PRINTTAB(1)W$LEFT$(T$(J),16)FF$RIGHT$(T$(J),2);
1124 PRINT" "LEFT$(DT$(VAL(RIGHT$(T$(J),2))),18):IFN<19THENIFJ=NTHEN1108
1126 IFPEEK(214)<22THENJ=J+1:GOTO1118
1128 GOTO1108
1130 PRINT"[158]"R$P8$
1132 GOTO1126
1150 REM * ? OPTIONS
1152 P$=BL$:GOSUB48:P$="PRINT OPTIONS":Y=4:X=13:GOSUB20:PRINTCY$P$
1154 X=4:Y=7:FORI=1TO6:GOSUB20:PRINTR$W$MID$(STR$(I)+" ",2,2)O$PC$(I):Y=Y+1:NEXT
1156 U=2:GOSUB952:IFI$="^"THENRETURN
1158 PC=C+1:P$=BL$:GOSUB48
1160 P$="COMMENT/DATE/ETC...":J=17:A$=LEFT$(" ",J-LEN(D$))
1162 GOSUB45:J$=D$:I=LEN(D$)
1164 Y=22:X=5:GOSUB20:PRINT"[159]NO COMMAS,SEMICOLONS OR COLONS":GOSUB102:D$=J$
1166 RETURN
1200 REM * ? TO PRINTER
1202 IFN<1THENI$="Y":PC=2:GOTO1206
1204 P$=BL$:GOSUB48:P$="SET/RESET OPTIONS?":GOSUB302:IFI$="^"THENRETURN
1206 IFI$="Y"THENGOSUB1152:IFI$="^"THENRETURN
1208 IFN<1ANDPC<>2ANDPC<>6THENRETURN
1210 IFPC=2ORPC=6THENP$=S9$:GOSUB48:GOSUB50:P$=S6$:GOSUB30:IFI$="^"THENRETURN
1212 IFPC=2ORPC=6THENGOSUB93:IFERTHEN94
1214 P$=BL$:GOSUB48:Y=18:X=4:GOSUB20:PRINTR$"[158]PREPARE PRINTER & POSITION PAPER"
1216 P$=S6$:GOSUB30:IFI$="^"THENRETURN
1218 P$=T3$:E$=CHR$(27):S=4:CLOSES:OPENS,S,SA:GOSUB202
1220 PG=PL:PRINT#S,U$SPC((A/2)-1);:FORI=1TOCL:PRINT#S,P$SPC(B/A);:NEXT:PRINT#S
1222 P$="TEST ALIGNMENT AGAIN?":GOSUB302:S=4:P$=T3$:GOSUB202:IFI$="^"THENCLOSES:
1224 IFI$="Y"THENLN=.:GOTO1218
1226 U=2:PRINT#S,H1$;:IFCTHENFORI=1TOC:PRINT#S:NEXT
1228 P$=S4$:GOSUB48:Y=4:X=5:GOSUB20:IFPC=2ORPC=6THEN902
1230 PRINT#S,""SPC(E-LEN(L1$+" "+L2$)/2)L1$" "L2$
1232 PRINT#S,C3$SPC((E/2)-LEN(FF$+"-"+F$)/2)FF$"-"F$C4$:GETI$:IFI$THEN1342
1234 P$=STR$(N)+" PROGRAMS ON"+STR$(DN)+" DISKS "+D$:PRINT#S,""SPC(E-LEN(P$)/2)P$H2$
1236 IFPTHENIFPC<>5THENPRINT#S
1238 W=.:M=N::IFPTHENLN=5:IFPC=5THENLN=10
1240 IFPTHENFORK=1TODN:IP=VAL(MID$(DT$(K),19)):N=IP:W=W+IP:IFK>1THENZ=W-IP
1242 X=INT(IP/CL):IFN>PG*CLTHENX=PL:IP=PG*CL
1244 C3=2*X:C4=3*X:C5=4*X:R=FNR(X):IFR>.THENIFR<=CLTHENX=X+1
1246 IFPTHENGOSUB1344
1248 IFPC<>2ANDPC<>6THEN1252
1250 PRINT#S,H1$"CATEGORY "FF$"-"F$" * "DN" DISKS * "M" PROGRAMS"H2$
1252 C3=2*X:C4=3*X:C5=4*X:ONCLGOTO1254,1256,1260,1268,1278
1254 C3=IP:C4=IP:C5=IP:GOTO1288
1256 IFRTHENC3=2*X-1
1258 GOTO1288
1260 ONRGOTO1264,1266:REM 3
1262 GOTO1288
1264 C3=X:C4=2*X-1:GOTO1288
1266 C4=3*X-1:GOTO1288
1268 ONRGOTO1272,1274,1276:REM 4
1270 GOTO1288
1272 C3=2*X-1:C4=3*X-2:GOTO1288
1274 C4=3*X-1:GOTO1288
1276 GOTO1288
1278 ONRGOTO1282,1284,1286:REM 5
1280 GOTO1288
1282 C3=2*X-1:C4=3*X-2:C5=4*X-3:GOTO1288
1284 C4=3*X-1:C5=4*X-2:GOTO1288
1286 C5=4*X-1
1288 PRINT#S,T1$;:IFPC=2ORPC=6THEN1296
1290 IFDTHENFORI=1TOD:PRINT#S:NEXT
1292 IFPTHENPRINT#S,H1$FF$RIGHT$(T$(Z+1),2)"-"LEFT$(DT$(K),18)" - "MID$(DT$(K),19)" PROGRAMS";
1294 IFPTHENPRINT#S,H2$T1$:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$:GOTO1298
1296 PRINT#S,""SPC(A-2);:FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:PRINT#S,P9$
1298 IFZ>.THENC3=C3+Z:C4=C4+Z:C5=C5+Z:IFN<=PG*CLTHENIP=IP+Z
1300 IFPC=6THENPRINT#S,T2$;
1302 FORI=1TOX:GETI$:IFI$="^"THENI=X:NEXT:GOTO1342
1304 PRINT#S,""SPC(A-2)LEFT$(T$(I+Z),16)" "FF$RIGHT$(T$(I+Z),2)SPC(B);
1306 IFC3=>I+X+ZTHENPRINT#S,LEFT$(T$(I+X+Z),16)" "FF$RIGHT$(T$(I+X+Z),2)SPC(B);
1308 IFI+C3>IPTHENPRINT#S:GOTO1320
1310 IFC4=>I+C3THENPRINT#S,LEFT$(T$(I+C3),16)" "FF$RIGHT$(T$(I+C3),2)SPC(B);
1312 IFI+C4>IPTHENPRINT#S:GOTO1320
1314 IFC5=>I+C4THENPRINT#S,LEFT$(T$(I+C4),16)" "FF$RIGHT$(T$(I+C4),2)SPC(B);
1316 IFI+C5>IPTHENPRINT#S:GOTO1320
1318 IFC5+X=>I+C5THENPRINT#S,LEFT$(T$(I+C5),16)" "FF$RIGHT$(T$(I+C5),2)
1320 NEXT
1322 PRINT#S,""SPC(A-2):FORI=1TOCL-1:PRINT#S,P9$SPC(B);:NEXT:IFN<=PG*CLTHENPRINT#S,P9$:GOTO1326
1324 PRINT#S,"----CONTINUED-------"
1326 IFN<=PG*CLTHEN1338
1328 PRINT#S,T2$H1$:IFPC=5THENPRINT#S
1330 IFCTHENFORI=1TOC:PRINT#S:NEXT
1332 PRINT#S:PRINT#S,""SPC(A-2)FF$"-"F$" CONTINUED..."
1334 PRINT#S,SPC(A-2)"PAGE#"(PG/PL)+1"-"D$H2$
1336 Z=PG*CL:IP=N-(PG*CL):PG=PG+PL:GOTO1242
1338 IFPC=2ORPC=6THENPRINT#S:RETURN
1340 IFPTHENPRINT#S:PRINT#S:NEXT
1342 PRINT#S,T2$;:CLOSES:N=M:RETURN
1344 J=66:JJ=5:IFPC=5THENJ=132
1346 IFPC=2ORPC=6THENJJ=4
1348 IFX+JJ<J-LNTHEN1356
1350 IFPC=5THENPRINT#S,E$"A"CHR$(6);
1352 FORI=1TOJ-LN:PRINT#S:NEXT:GOSUB1362
1354 IFPC=5THENPRINT#S,E$"A"CHR$(12);
1356 LN=LN+JJ+X
1358 IFLN=>JTHENLN=.:IFPTHENLN=5+JJ+X:IFPC=5THENLN=LN+5
1360 RETURN
1362 IFP=.THENRETURN
1364 IFPC=5THENPRINT#S
1366 PRINT#S,T2$H1$:PRINT#S,L1$" "L2$:IFPC<>2ANDPC<>6THENPRINT#S,FF$"-"F$:GOTO1370
1368 PRINT#S,"-SUMMARY REPORT-
1370 [152]S,"PAGE# "U"-"D$:[152]S,H2$
1372 U[178]U[170]1:[142]
1400 [143] * EQUIP SETUP
1402 [141]48:Z[178].:U[178].:I[178].:P$[178]R$[170]"LIST CMDCMDCMDCMDCMD"[170]O$[170]W$
1404 SD[178]SD[170]I:[141]1438:Y[178]7:X[178]4:[141]20:[153]W$"SOURCE DEVICE #:",P$SD:[139]U[167][142]
1406 DD[178]DD[170]I:[141]1438:Y[178]9:[141]20:[153]"MASTER DEVICE #:",P$DD:[139]U[167][142]
1408 SR[178]SR[170]I:[141]1438:Y[178]11:[141]20:[153]"SOURCE DRIVE #:",,P$SR:[139]U[167][142]
1410 DR[178]DR[170]I:[141]1438:Y[178]13:[141]20:[153]"MASTER DRIVE #:",,P$DR:[139]U[167][142]
1412 SA[178]SA[170]I:Y[178]15:[141]20:[153]"SECONDARY ADDRESS:",P$SA:[139]U[167][142]
1414 Y[178]19:[141]20:[153]R$"USE CURSOR KEYS TO SELECT"
1416 Y[178]21:[141]20:[153]W$R$"USE +/- KEYS TO CHANGE"
1418 [141]47:Y[178]24:X[178]47:[141]20:[153]R$CY$" PRESS ' ^ ' TO RETURN ";:[139]Z[178]1[167][142]
1420 Y[178]7:U[178]1
1422 I[178].:X[178]28:[141]20:[153]R$W$">>":X[178]4:[161]I$:[139]I$[178]"-"[167]I[178]I[171]1:[141]1434
1424 [139]I$[178]"+"[167]I[178]I[170]1:[141]1434
1426 [139]I$[178]""[176]I$[178]""[167]X[178]25:[141]20:[153]P$:Y[178]Y[170]2:U[178]U[170]1:X[178]28:I[178].:[139]Y[177]15[167]Y[178]7:U[178]1
1428 [139]I$[178]"ON"[176]I$[178]"CMD"[167]X[178]25:[141]20:[153]P$:Y[178]Y[171]2:U[178]U[171]1:X[178]28:I[178].:[139]Y[179]7[167]Y[178]15:U[178]5
1430 [139]I$[178]"^"[176]I$[178][199](13)[167]1456
1432 [137]1422
1434 [145]U[141]1404,1406,1408,1410,1412
1436 [142]
1438 [139]SD[179]8[167]SD[178]15
1440 [139]SD[177]15[167]SD[178]8
1442 [139]DD[179]8[167]DD[178]15
1444 [139]DD[177]15[167]DD[178]8
1446 [139]SR[179].[167]SR[178]1
1448 [139]SR[177]1[167]SR[178].
1450 [139]DR[179].[167]DR[178]1
1452 [139]DR[177]1[167]DR[178].
1454 [142]
1456 [139]SD[178]8[175]DD[178]8[167][142]
1458 P$[178]BL$:[141]48:P$[178]"CHANGE DEVICE #?":[141]302:[139]I$[178]"N"[176]I$[178]"^"[167][142]
1460 P$[178]BL$:[141]48:Y[178]17:X[178]7:[141]20:[153]R$"SYSTURN OFF ALL DRIVES EXCEPT"
1462 Y[178]Y[170]1:[141]20:[153]R$" THE ONE TO BE CHANGED. "
1464 P$[178]"OLD DEVICE # ":J[178]2:A$[178]" ":J$[178]"8":I[178]1:[141]102:[139]J$[178]""[167][142]
1466 OD[178][197](J$):[139]OD[179]8[176]OD[177]15[167]1464
1468 P$[178]"NEW DEVICE # ":J[178]2:A$[178]" ":J$[178]"9":I[178]1:[141]102:[139]J$[178]""[167][142]
1470 ND[178][197](J$):[139]ND[179]8[176]ND[177]15[167]1468
1472 [160]15:[159]15,OD,15
1474 [152]15,"M-W"[199](119)[199](.)[199](2)[199](ND[170]32)[199](ND[170]64):P$[178]BL$:[141]48
1476 Y[178]20:X[178]10:[141]20:[153]R$"SYSTURN ON OTHER DRIVE!":P$[178]S6$:[141]30:[160]15:[142]
1500 [143] * INITILIZE VARIABLES
1502 ML[178]49408:ME[178][181](([184](.)[171]3800)[173]21)[171]31:[139]ME[179]1[167]ME[178].
1504 [140]:R$[178]"":O$[178]"WAIT":BL$[178]"":CY$[178]"OPEN":W$[178]"":[151]53280,7:[151]53281,11
1506 [134]V$(152),X(152),T$(ME[170]5),DT$([181](50)),M$(15),PC$(13)
1508 DL[178]830:SD[178]8:DD[178]8:SA[178]4:CL[178]3
1510 [135]M$(.):[129]I[178]1[164]11:[135]M$(I):M$(I)[178][200](M$(I)[170]" ",18):[130]
1512 [129]I[178]1[164]6:[135]PC$(I):[130]:D$[178]"CLUB LIBRARIAN":F$[178]"NO FILE NAME":FF$[178]"?"
1514 [135]SO:[134]SL$(SO):[129]I[178]1[164]SO:[135]SL$(I):[130]:[135]L1$:[135]L2$
1516 S1$[178]" WAIT"
1518 S2$[178]"OPEN THE CLUB LIBRARIAN V1.2 WAIT"
1520 S3$[178]" WAIT"
1522 S4$[178]"PRESS & HOLD '^' TO STOP PRINTING"
1524 S5$[178]"SYSREPLACE EXISTING FILE (Y/N)?
1526 S6$="PRESS A KEY TO CONTINUE"
1528 S7$="SELECT ONE"
1530 S8$="[158]SOURCE"
1532 S9$="[158]MASTER"
1534 P1$="WORKING"
1536 P2$="SELECTION OK (Y/N)?"
1538 P3$="NO FILES AVAILABLE!"
1540 P4$="CRSR=MOVEMENT N=NEXT P=PREVIOUS[146]"
1542 P5$="RETURN=SELECT S=SWAP E=END ^=MENU[146]"
1544 S0$=" RETURN=SELECT ^=MENU [146]"
1546 P6$=" CRSR^ = PREVIOUS - OTHER KEYS = NEXT "
1548 P7$="NO CLUB LIBRARIAN FILES FOUND"
1550 P8$="FILENAME ID# DISKNAME ID"
1552 P9$="--------------------"
1554 T3$=" - - - - - -"
1556 IFPEEK(DL)=160ANDPEEK(ML)=32ANDPEEK(51740)=120THEN2002
1558 OPEN1,8,.,"0:CLUB LIB.SANI,S,R":FORI=51740TO52223:INPUT#1,A:POKEI,A:NEXT:CLOSE1
1560 OPEN1,8,.,"0:CLUB LIB.SORT,S,R":FORI=49408TO49973:INPUT#1,A:POKEI,A:NEXT:CLOSE1
1562 OPEN1,8,.,"0:CLUB LIB.DIR,S,R":FORI=DLTODL+148:INPUT#1,A:POKEI,A:NEXT:CLOSE1
1564 SYS51740
2000 REM * MAIN MENU
2002 GOSUB10:X=PEEK(152):FORI=1TOX:CLOSEPEEK(601):NEXT:P0$=" SORTED"
2004 P$=MID$(STR$(ME),2)+" ITEMS/CATEGORY":Y=2:X=60-LEN(P$)/2:GOSUB20:PRINTP$
2006 G=.:IFN>0THENG=1
2008 POKE198,.:K=.:LN=.:J$=""
2010 IFN<1THENN=.:P=1:G=.
2012 Y=4:X=10:GOSUB20:PRINTM$(.):Y=5
2014 FORI=1TO11:P$=R$:IFN<1THENIFI=3ORI=5ORI=6ORI=7THENP$=O$
2016 IFI=6THENIFP=.THENP$=O$
2018 IFI=7THENIFP=2THENP$=O$
2020 GOSUB20:PRINTW$P$RIGHT$(" "+STR$(I),2)W$;
2022 PRINTO$M$(I):Y=Y+1:NEXT:IFP=1THENP0$="UNSORTED"
2024 P$=FF$+R$+"-"+F$:IFN>.THENP$=P$+STR$(DN)+" DISKS"
2026 Y=18:X=20-LEN(L1$)/2:GOSUB20:PRINTL1$:Y=19:X=20-LEN(L2$)/2:GOSUB20:PRINTL2$
2028 Y=21:X=21-LEN(P$)/2:GOSUB20:PRINTW$P$:P$=STR$(N)+" PROGRAMS : "+P0$
2030 IFN>ME-100THENPRINT"[158]";
2032 Y=22:X=20-LEN(P$)/2:GOSUB20:PRINTR$P$
2034 U=1:GOSUB952:G=C:IFUTHEN2048
2036 C=C+1:IFC=1ORC=2ORC=4ORC=8ORC=9ORC=10ORC=11THEN2044
2038 IFC=6THENIFP=.THENPOKES+B,160:GOTO2034
2040 IFC=7THENIFP=2THENPOKES+B,160:GOTO2034
2042 IFN<1THENPOKES+B,160:GOTO2034
2044 P$=BL$:GOSUB48
2046 ONCGOSUB352,602,1102,1202,352,802,802,2050,1152,1402,2050
2048 GOTO2002
2050 Z=C:IFN=.THEN2056
2052 PRINT"[158]";:P$="HAVE YOU SAVED CURRENT [158]FILE?"
2054 GOSUB302:IFI$="N"ORI$="^"THENRETURN
2056 IFC=8ORZ=8THENPRINT"[147]":RUN
2058 PRINT"[147]HAPPY COMPUTING!!":CLR:END
5000 REM * MENU ITEMS
5002 DATA"[158] MAIN MENU ","LOAD A FILE","ADD/READ DIRECTORY"
5004 DATA"VIEW ENTRIES","PRINT ENTRIES","SAVE A FILE"
5006 DATA"SORT BY FILENAME","SORT BY DISK ID#","CLEAR/RESET"
5008 DATA"PRINT OPTIONS","EQUIPMENT SETUP","EXIT TO BASIC"
5010 REM * ? OPTIONS
5012 DATA"3 COL/REGULAR TYPE COMMODORE"
5014 DATA"SUMMARY REPORT COMMODORE"
5016 DATA"3 COL/REGULAR TYPE EPSON/ETC"
5018 DATA"5 COL/CONDENSED TYPE EPSON/ETC"
5020 DATA"5 COL/SUBSCRIPT TYPE EPSON/ETC"
5022 DATA"SUMMARY REPORT EPSON/ETC"
5024 DATA 21:REM # OF SAVE/LOAD OPTIONS
5026 DATA BUSINESS,C128,CLUB MONTHLY,COMAL1 .14,COMAL2 .14,COMAL 2.0
5028 DATA EDUCATION,FREEWARE,GAMES,HOME,MISC 1,MISC 2,PET,PUBLIC DOMAIN,TERMINAL
5030 DATA TPUG MISC1,TPUG MISC2,TPUG MONTHLY1,TPUG MONTHLY2,UTILITIES,UPDATES
5032 REM * CLUB DATA
5034 DATA "[159]GREATER OMAHA"
5036 DATA "COMMODORE USERS GROUP"